\documentstyle[titlepage,a4]{article}
\selectlanguage{\german}
\def\K1{K1-Editor}

\def\kbox#1#2{ \medskip
	\noindent
	\begin{minipage}[t]{0.25\hsize}{\noindent \sloppy \bf #1}
		\end{minipage}
	\hfill\noindent
	\begin{minipage}[t]{0.70\hsize}{\sloppy\noindent #2}
		\end{minipage}
	\medbreak
}


\def\k1box#1#2{ \medskip
	\noindent
	\begin{minipage}[t]{0.35\hsize}{\noindent \bf #1}
		\end{minipage}
	\hfill\noindent
	\begin{minipage}[t]{0.58\hsize}{\sloppy\noindent #2}
		\end{minipage}
	\medbreak
}

\pagestyle{headings}
\begin{titlepage}
	\title{K1-II Editor/Librarian\\Version 5.31}
	\author{\copyright \ Andreas Jung\\Klosterstraße 21\\D-6602 Dudweiler\\Bundesrepublik Deutschland}
	\date{Drucklegung: \today}
\end{titlepage}
\begin{document}
\maketitle

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Allgemeines}

\subsection{Copyright/Verteilung}
Das Programm K1-II Editor/Librarian, kurz \K1 genannt, wird von mir als
Freeware zur Verfügung gestellt.  Dies bedeutet, daß das Programm zur
nichtkommerziellen Nutzung frei kopiert werden darf.  Die kommerzielle
Verwertung des Programms in jeglicher Form ist grundsätzlich verboten.
Ausnahmen von dieser Regelung bedürfen der schriftlichen Erlaubnis des Autors.
Die Übernahme des Programms in eine PD-Serie ist nur dann erlaubt, wenn der
Preis für Disketten die Selbstkosten maximal jedoch 5 DM nicht übersteigt. 
Alle weiteren Rechte des Autors bleiben von dieser Regelung unberücksichtigt.
Es wird keine Haftung in irgendeiner Form für Schäden übernommen, die durch
den Gebrauch des Programmes entstehen. Jegliche Nutzung geschieht auf eigene
Gefahr.  Eventuelle Fehler sollte man mir unter Angabe der Fehlersituation
melden. Ich werde dann versuchen diese in einer späteren Version zu beheben.
\\
\\
Nachfolgende Teile von Fremdautoren wurden bei der Programmierung des \K1
verwendet. Alle wurden von den Autoren als Public Domain oder Freeware zur
Verfügung gestellt, so daß keine urheberrechtlichen Probleme bestehen:
\hfill
\begin{itemize}
	\item{Req-Library von Colin Fox, Pyramid Designs und Bruce Bawson, CygnusSoft-Software}
	\item{Midi-Library von Pregnant Badger Music}
	\item{Sleepy mouse pointer von Timm Martin}
	\item{Inputhandler von Paris E. Bingham}
	\item{einige Unterroutinen von Michael Balzers K1-Editor}
\end{itemize}

\subsection{Danksagungen}
Danksagen möchte ich allen obigen Personen, bzw.  Firmen, die ihre Programme
und Routinen der Allgemeinheit zur Verfügung gestellt haben und somit bei der
Verwirklichung dieses Programmes geholfen haben.  Bedanken möchte ich mich
insbesondere bei Michael Balzer, dessen K1-Editor den Anstoß zu diesem Programm
gab.  Er machte mir seinen Source-Code zugänglich und versorgte mich mit
wichtigen Informationen über den K1-II Synthesizer.  Ich weiß nicht ob mein
Programm ohne seine Informationen realisiert worden wäre.  Außerdem möchte ich
all denen danken, die mich durch ihre Fehlerberichte auf Fehler aufmerksam
machten und durch ihre Anregungen bei der Gestaltung des Programms geholfen
haben.

\subsection{Verwendete Hard- und Software}
Der \K1 ist zum größten Teil in C geschrieben.  Nur Teile des Input-Handlers
(s.o.) wurden in Assembler realisiert.  Als Compiler wurde der Aztec-C 5.0a
verwendet.  Außerdem wurde der CygnusEd in Verbindung mit ARexx benutzt.  Die
vorliegende Dokumentation entstand mit dem Textsatzprogramm Amiga-\TeX\ von
Radical Eye Software.  Den Autoren dieser Programme gilt ebenfalls mein Dank.

\subsection{Voraussetzungen}
Es wird vorausgestzt, daß der Benutzer dieses Programmes grundlegende
Kenntnisse in der Sound\-programmierung des K1 mitbringt.  Entsprechende
Kenntnisse kann man sich mit Hilfe des Handbuches und durch sehr viel
ausprobieren aneignen.  Hier gilt das alte Sprichword:  {\bf Probieren geht
über Studieren.}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\newpage
\section{Einführung}
\subsection{Überblick}
Der \K1 ist ein integriertes System zur Benutzung des Synthesizers Kawai
K1-II. Es beinhaltet Funktionen zur Editierung aller Parameter des
Synthesizers, insbesondere einen Bankloader für Single- und Multipatches,
Editoren für Single- und Multipatches sowie Support der Effect-Section und der
Controller. 

\subsection{Hardwareanforderungen}
Um mit dem Programm vernünfig arbeiten braucht man natürlich einen K1-II
Synthesizer und einen Amiga.  Das Programme wurde erfolgreich auf dem Amiga
500/2000 mit Kickstart 1.2/1.3 getestet.  Ab Version 5.24 läuft der \K1 auch
ohne Probleme auf Amigas mit Kickstart 2.0.  Bei älteren Programmenversionen
kommt es meistens zu Problemen beim Umgang mit Fonts, die nicht 8 Pixel hoch
sind (Topaz-Font).
\\
\\
Man braucht auerßdem ein Midi-Interface, welches am seriellen Port des Amigas
angeschlossen wird.  Midi-In und Midi-Out Anschlüsse des K1-II's und des Amigas
müssen jeweils kreuzweise miteinander verbunden werden:
\\
\\
\centerline{\fbox{Kawai Midi Out} $\longleftrightarrow$ \fbox{Amiga Midi In}}
\centerline{\fbox{Kawai Midi In} $\longleftrightarrow$ \fbox{Amiga Midi Out}}
\\
\\
Der \K1 benötigt ca.  200-250 KB freien Speicher, so daß er auf einem kleinen
Amiga laufen sollte.  Mehr Speicherplatz schadet aber auch nicht.  Als
Massenspeicher reicht ein normales Diskettenlaufwerk, obwohl eine Festplatte
für den Programmablauf natürlich wesentlich komfortabler ist.  Bei häufigem
Laden von Sounds sind die Dateizugriffe bei Diskettenlaufwerken natürlich etwas
hemmend.  Dies kann z.B.  durch Erhöhen der Pufferzahl mit {\bf addbuffers}
mildern.  Wenn Sie einzelne Daten ausdrucken lassen wollen, so brauchen Sie
außerdem einen Drucker, der entsprechend in den Preferences konfiguriert ist.
\\
\\
{\bf Hinweis:} Der interne Schreibschutz des K1 muß abgeschaltet sein (System
Int Protect=Off)~!  Außerdem muß der K1-II zum Empfang für SysEx-Daten
geschaltet sein (Rcv Excl=On)~!

\subsection{Installation}
Eine vollständige und automatische Installation erledigt die Batchdatei {\bf
Installation}.  Sie starten es durch Anklicken von der Workbench aus.  Sie
werden nun aufgefordert den Pfad- oder Gerätenamen einzugeben wohin die Dateien
ko\-piert werden sollen, z.B.  {\bf DH0:} oder {\bf DH0:sound/midi}.  Alles
weitere geschieht nun vollautomatisch.  Alle Unterverzeichnisse und benötigten
Dateien werden nun vollständig angelegt bzw.  kopiert. 
\\
\\
{\bf Warnung: Zur automatischen Installation sollte auf Ihrem System das
ARP-System installiert sein. Die automatische Installation arbeitet unter
Kickstart 2.0 noch nicht korrekt. In diesen Fällen müssen Sie von Hand
kopieren.}
\\
\\
Die Singlepatches befinden sich im Verzeichnis {\em Sounds}. Sie sind im Archiv
{\em Sound.lha} gepackt. Um sie zu entpacken geben Sie folgenden Befehl vom der
Shell aus ein: 
\begin{verbatim}
    :c/lha -xmr e sounds.lha
\end{verbatim}
Nachfolgende Dateien sind notwendig, um ein einwandfreies Funktionieren des
\K1 zu gewährleisten:
\\
{\bf
	\centerline{LIBS:arp.library}
	\centerline{LIBS:req.library}
	\centerline{LIBS:midi.library}
	\centerline{LIBS:diskfont.library}
	\centerline{LIBS:icon.library}
	\centerline{L:ram-handler}
	\centerline{L:port-handler}
	\centerline{DEVS:printer-device}
	\centerline{DEVS:serial.device}
	\centerline{DEVS:PRINTERS/{\tt Treibername}}
}
\
\\
\parbox{\hsize}{
Nach der Installation erhält man die folgende Verzeichnisstruktur:\\
\bf\begin{tabbing}
\hspace{5cm}\=KAWAI---\=+---SOUNDS\\
		 	\>	\	  \>+---BANKS\\
			\>	\	  \>+---DUMP\\
		   	\> 	\	  \>+---MULTI\\
	\end{tabbing}
}
\hfill
\\
{\bf Warnung: Der \K1 darf nicht mit einem Packer gepackt werden, weil die
Betriebssicherheit des Programmes sonst nicht mehr gewährleistet ist.}

\subsection{Starten des Programms}
Der \K1 kann sowohl von CLI als auch von der Workbench gestartet werden. Auf
der Workbench brauchen Sie einfach nur das Icon des Programms anzuklicken. Beim
Start vom CLI aus geben Sie einfach den Namen des Programms {\bf K1} ein. Sie
können durch Angabe einer Option beim Start vom CLI aus einige
Default-Handlungen des \K1's beeinflußen:
\goodbreak
\begin{tabbing}
\hspace{5cm} \={\bf K1 s} \hspace{1cm}\=öffnet Fenster auf eigenem Screen\\		
 			 \>{\bf K1 l} 			  \>öffnet Interlace-Screen\\
			 \>{\bf K1 g}  			  \>holt kompletten Dump vom K1\\
			 \>{\bf K1 i}			  \>initialisiert alle Patches\\
\end{tabbing}
\noindent
Die Optionen können natürlich auch kombiniert werden, z.B. '{\bf K1 s l g}'.
\\
\\
Beim Start von der Workbench aus können Sie ebenfalls einige Optionen angeben.
Diese müssen im Feld {\bf Tool~Types} des Info-Feldes angegeben werden. Folgende
Optionen sind erlaubt:\hfill
\begin{tabbing}
\hspace{1.5cm}
			 \={\bf SCREEN=ON/OFF} \hspace{2.5cm}	\=Eigener Screen öffnen oder Workbench benutzen\\
 			 \>{\bf LACE=ON/OFF} 				  	\>Interlaced Screen benutzen an/aus\\
			 \>{\bf GETDUMP=ON/OFF}  			  	\>Kompletten Dump vom K1 holen\\
			 \>{\bf INITIALIZE=ON/OFF}			  	\>Initialisieren aller Patches an/aus\\
			 \>{\bf MULTIDIR=Verz.-Name}		  	\>Default-Verzeichnis für Multi-Patches\\
			 \>{\bf BANKDIR=Verz.-Name}			  	\>Default-Verzeichnis für Bänke\\
			 \>{\bf DUMPDIR=Verz.-Name}			  	\>Default-Verzeichnis für Dumps\\
			 \>{\bf SOUNDDIR=Verz.-Name}		  	\>Default-Verzeichnis für Single-Patches\\
			 \>{\bf DEFAULTDUMP=Dump-Name}		  	\>Default-Dump (optional)\\
\end{tabbing}
Beim Programmstart wird getestet welche Fernsehnorm (PAL oder NTSC) vorliegt.
Bei NTSC wird automatisch ein Interlace Screen geöffnet, da das Programm ein
Fenster von 255 Pixel Höhe braucht.  Dieses kann auf einem NTSC Amiga nur auf
einem solchen Screen geöffnet werden. Besitzer von PAL Amigas haben die Wahl wo
das Programmfenster geöffnet wird: auf der Workbench, auf einem eigenen
non-interlaced Screen oder auf einem interlaced Screen.

\subsection{Programmbedienung}
Der \K1 wurde so programmiert, daß er einfach zu bedienen ist und man seine
eigenen Vorstellungen schnell realisieren kann.  Deshalb habe ich bei der
Programmierung auf Menüs verzichtet.  Alle Funktionen werden werden durch
direktes Anklicken mit der Maus ausgelöst.  Dadurch ergibt sich eine gute und
schnelle Arbeitsweise.  Die Tastatur wird nur gebraucht, wenn man bei den
Filerequestern von Hand die Verzeichnis- und Dateinamen eingeben will.  Alle
Funktionen werden im allgemeinen durch Drücken der linken Maustaste über dem
entsprechenden Funktionsfeld angewählt.  Die rechte Maustaste hat folgende
Funktion:  Wenn Sie sich mit dem Mauszeiger über dem Feld eines Single- oder
Multi-Patches befinden, so werden durch das Drücken der rechten Maustaste die
aktuellen Daten des Patches zum K1 übertragen.  Desweiteren wird ein
Progammwechsel zu diesem Patch ausgeführt. Auf der rechten Seite in der Mitte
befindet sich ein Schieberegler mit dem sich die Gesamtlaufstärke des K1
einstellen läßt. Dieser steht normalerweise in der Mitte. Wenn man sich dem
Maximum nähert kann es zu Verzerrung seitens des K1's oder des angeschlossenen
Verstärkers kommen. 

\subsection{Bildschirmaufteilung}
Nach dem Start des \K1 sehen Sie das Hauptfenster des Programms.  In der
oberen Hälfte sehen Sie ein Raster, welches von (A-1) bis (d-8) durchnummeriert
ist.  Dieses Raster repräsentiert die Single-Patches des K1.  In der unteren
Hälfte sieht man eine dreireihige Leiste mit möglichen Funktionen.  Diese
werden später noch erklärt.  Die unterste Zeile ist von 1-16 durchnummeriert
und dient dazu die einzelnen Programme der Effektsession anzuwählen.  In der
rechten oberen Ecke befindet sich das Gadget {\bf Multi}.  Wenn Sie dieses
anklicken kommen sie auf dem zweiten Hauptbildschirm.  Dieser ähnelt den ersten
Bildschirm und repräsentiert die Multi-Patches des K1.  Diese sind von (A-1)
bis (D-8) durchnummeriert.  Durch Anklicken des Gadgets {\bf Banks}  gelangen
Sie wieder auf den ersten Hauptbildschirm.

\subsubsection{Erster Hauptbildschirm}
Der erste Hauptbildschirm repräsentiert wie schon oben angedeutet die
Single-Patches des K1. Folgende Funktionen sind hier anwählbar:

\kbox{Load bank 1/2}
{Diese Funktion dient dazu eine Soundbank von einem Datenträger (Festplatte,
Diskette) in den Speicher des Amigas zu laden.  Beim Anwählen erscheint ein
Filerequester mit dessen Hilfe die gewünschte Soundbank gewählt werden kann.}

\kbox{Save bank 1/2}
{Das Abspeichern einer kompletten Soundbank erfolgt mit dieser Funktion.  Wenn
Sie sie anwählen erscheint ein Filerequester bei dem Sie dann das gewünschte
Verzeichnis anwählen und den Dateinamen eingeben.}

\kbox{Get bank 1/2}
{Diese Funktion fordert vom K1 alle Patches der ersten Soundbank, (A-1) bis
(D-8), oder der zweiten Soundbank, (a-1) bis (d-8), an.}

\kbox{Send bank 1/2}
{Mit dieser Funktion werden die Daten einer Soundbank von Amiga zum K1
übertragen und sehen dann dort zur Verfügung.}

\kbox{Save sounds 1/2}
{Diese Funktion speichert alle Single-Patches einer Soundbank einzeln im
logischen Verzeichnis {\bf K1-sounds:}, welches vom \K1 automatisch beim
Programmstart angelegt wird.}

\kbox{Load/Send as 1/2}
{Um Soundbänke direkt vom Amiga zum K1 zu transferieren dient diese Funktion.
Soundbänke, die derzeit im \K1 bearbeitet werden, werden durch diese Funktion
nicht verändert.}

\kbox{About}
{Gibt Informationen über das Programm (Version, Autor, Copyrights usw.).}

\kbox{Iconify}
{Wenn Sie den \K1 zeitweilig nicht brauchen, so können Sie ihn mit dieser
Funktion iconifizieren, d.h.  das Programm wird auf minimale Größe gebracht,
damit man Platz für andere Applikationen hat.  Um das Fenster wieder auf die
volle Größe zu bringen gehen Sie folgendermaßen vor:  aktivieren Sie das
iconifizierte Fenster und drücken Sie anschließend die rechte Maustaste.
Anschließend wird das ursprüngliche Programmfenster des \K1 wiederhergestellt
und der \K1 ist wieder betriebsbereit.}

\kbox{Quit}
{Programmablauf beenden.}
\medbreak\noindent
Wenn Sie einen der 64 Speicherplätze anklicken erscheint ein kleines Fenster
mit folgenden Optionen:

\kbox{Edit sound}
{Editieren des selektierten Patches (\bf $\rightarrow$ Singlepatch-Editor).}

\kbox{Load sound}
{Laden eines anderen Patches von Diskette oder Festplatte.}

\kbox{Save sound}
{Speichern des selektierten Patches.}

\kbox{Transmit sound}
{Selektierter Patch wird zum K1 übertragen und dann angewählt.}

\kbox{Copy to}
{Kopieren des selektierten Patches auf einen anderen Platz. Dieser wird
ebenfalls durch Anklicken gewählt.}

\kbox{Swap with}
{Vertauschen des selektierten Patches mit einem anderen. Dieser wird durch
Anklicken angewählt.}

\kbox{Cancel}
{Fenster schließen und zum normalen Programmablauf zurückkehren.}

\subsubsection{Zweiter Hauptbildschirm}

\kbox{Load Multi}
{Mit dieser Funktion laden Sie eine komplette Bank mit 32 Multi-Patches in den
Speicher.}

\kbox{Save Multi}
{Die aktuellen Multi-Patches werden über diese Funktion abgespeichert.}

\kbox{Load dump}
{Laden eines kompletten Dumps (2 Bänke mit je 32 Single-Patches und 1 Bank mit
Multi-Patches).}

\kbox{Save dump}
{Speichern des aktuellen \K1 Speichers als Dump.}

\kbox{Get multi}
{Holt Multi-Patches vom K1.}

\kbox{Send multi}
{Sendet aktuelle Multi-Patches zum K1.}

\kbox{Get dump}
{Holt kompletten Dump vom K1.}

\kbox{Send dump}
{Sendet aktuellen \K1 Inhalt  zum K1.}

\kbox{Colours}
{Verändern der Arbeitsfarben des \K1's.  Die Farben werden in der Datei {\bf
DEVS:k1libcolours} abgespeichert um bei jedem Programmstart entsprechend wieder
gesetzt zu werden.}

\kbox{Init all}
{Initialisieren aller Single- und Multi-Patches mit neutralen Parametern.}

\kbox{Use screen\\Use workbench}
{Mit dieser Funktion bestimmen Sie, ob der \K1 ein Fenster auf der Workbench
oder auf einem eigenen Screen benutzt.}

\kbox{Controllers}
{Bei Anwählen dieses Punktes wird ein Fenster geöffnet auf dem sich
Schieberegler für die Midi-Controller {\bf Volume, Pitchbend} und {\bf
Modulation} befinden. {\bf Reset} bringt alle Regler in die Ausgangsposition
zurück. {\bf Omni on/off} schaltet den Omni-Modus des K1 an oder aus (Nähere
Bedeutung: siehe K1 Handbuch). {\bf All notes off} sendet für jede Note auf
jeden Midi-Kanal einen Note-Off Befehl.}

\kbox{About}
{Siehe {\bf Erster Hauptbildschirm}}

\kbox{Iconify}
{Siehe {\bf Erster Hauptbildschirm}}

\kbox{Quit}
{Siehe {\bf Erster Hauptbildschirm}}
\medbreak\noindent
Wenn Sie einen der 32 Speicherplätze anklicken erscheint ein kleines Fenster
mit folgenden Optionen:

\kbox{Edit multi}
{Editieren des selektierten Patches (\bf $\rightarrow$ Multipatch-Editor).}

\kbox{Transmit multi}
{Selektierter Patch wird zum K1 übertragen und dann angewählt.}

\kbox{Copy to}
{Kopieren des selektierten Patches auf einen anderen Platz. Dieser wird
ebenfalls durch Anklicken gewählt.}

\kbox{Swap with}
{Vertauschen des selektierten Patches mit einem anderen. Dieser wird durch
Anklicken angewählt.}

\kbox{Cancel}
{Fenster schließen und zum normalen Programmablauf zurückkehren.}

\medbreak\noindent
In der rechten Hälfte des zweiten Hauptbildschirmes befindet sich ein weiteres
Fenster mit nachfolgenden Funktionen:

\kbox{Masterchannel: xx}
{Hier können Sie nachträglich den Sendekanal des \K1 ändern. Dieser muß mit
dem Empfangskanal des K1 übereinstimmen. Normalweiser wird diese Funktion nicht
gebraucht, da der \K1 den Sendekanal automatisch sucht. Masterchannel=0
bedeutet, daß kein K1 Synthesizer beim automatischen Suchlauf erkannt wurde.}

\kbox{Scan Masterchannel}
{Diese Funktion sucht alle möglichen Midi-Kanäle nach dem K1 ab und stellt
entsprechend den Masterchannel ein.}

\kbox{Extern $\rightarrow$ Intern}
{Kopieren den externen Speichers des K1 in den internen Speicher. Diese
Funktion ist zur Zeit noch nicht implementiert.}

\kbox{Intern $\rightarrow$ Extern}
{Kopieren den internen Speichers des K1 in den externen Speicher. Diese
Funktion ist zur Zeit noch nicht implementiert.}

\kbox{Intern $\leftrightarrow$ Extern}
{Vertauschen des internen und externen Speichers des K1. Diese Funktion ist zur
Zeit noch nicht implemetiert.}

\kbox{Priority: xx}
{Zeigt die aktuelle Priorität an, die der \K1 zur Zeit hat. Beim Anklicken des
Feldes erscheint ein Requester. Sie können jetzt die neue Priorität eingeben.
Die erlaubten Werte liegen zwischen -127 und +128.}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\section{Singlepatch-Editor}
Der Singlepatch-Editor dient dazu alle Parameter eines Singlepatches
komfortabel auf dem Bildschirm zu editieren.  Sie brauchen die Parameter also
nicht mehr am K1 einzustellen, sondern können bequem mit der Maus, den eigenen
Wünschen und Vorstellungen entsprechend, verändert werden.  In der oberen
Bildschirmhälfte werden alle Parameter eingestellt, die alle Ozillatoren
betreffen, bzw.  sich auf den gesamten Sound auswirken.  In der unteren
Bildschirmhälfte werden die Parameter der zwei oder vier Oszillatoren
eingestellt.  Die Bedeutung der einzelnen Parameter entnehmen Sie bitte Ihren
K1-Handbuch.  Die einzelnen Parameter werden durch Anklicken verändert.
Entweder es wird der Wert gleich verändert oder es wird ein kleines Fenster mit
einem Schieberegler geöffnet.  Mit diesem können Sie dann den gewünschten Wert
einstellen.  {\bf Das Fenster wird durch Drücken der rechten Maustaste
geschlossen}.  Der Schieberegler auf der rechten Seite bestimmt die
Gesamtlautstärke des gewählten Sounds.  Im Fenster {\bf Envelope} werden die
Hüllkurven aller Oszillatoren grafisch dargestellt.  Beim Anklicken dieses
Fensters gelangen Sie in den Editor zu grafischem Editierung der Hüllkurven.
Die Einstellung der meisten Parameter geschieht in Echtzeit!  Dies bedeutet,
daß die Veränderung eines Parameters sofort hörbar ist.
\\
\\
Der Singlepatch-Editor wird durch anklicken von {\bf OK} verlassen.  {\bf Undo}
stellt setzt die Parameter wieder auf die alten Werte.  {\bf Print} gibt alle
Parameter in Form einer Tabelle auf dem angeschlossenen Drucker aus.  {\bf
Rename} erlaubt es Ihnen den Namen des Sounds zu verändern.  {\bf Init} setzt
alle Parameter auf 'neutrale' Werte zurück.  Mit {\bf Test} wird eine kleine
Testsequenz an den K1 geschickt, um den Sound zu testen.  Die Testsequenz kann
nicht verändert werden.  Mit {\bf Load} und {\bf Save} können Sie den aktuellen
Sound abspeichern oder einen neuen Sound laden.  {\bf P-Copy} (Patchcopy)
kopiert die aktuellen Parameter zu einem anderen Patch, der durch Anklicken
bestimmt wird.  {\bf P-Swap} (Patchswap) tauscht den angewählten Patch mit
einem anderen aus. {\bf Oscil.} dient der globalen Manipulation von
Oszillatorparametern. Sie können die Parameter eines Oszillatorblocks mit einem
anderen tauschen (Swap) oder auch kopieren (Copy).

\subsection{Grafischer Hüllkurveneditor}

Der Hüllkurveneditor wird durch Anklicken des Envelope-Fensters im
Singlepatch-Editor gestartet.  Nach dem Anklicken wird ein Fenster geöffnet,
welches die zwei oder vier Hüllenkurven (abhängig vom Parameter {\em Sources}
der Oszillatoren darstellt. Auf der linken Seite der Hüllkurven sind jeweils
die einzelnen Parameter Delay, Attack, Decay, Sustain, Release und Level
angegeben. Die Bedeutung entnehmen Sie bitte gegebenfalls Ihrem K1-Handbuch.
Die Hüllkurve können Sie nun mit der Maus verändern. Dazu bringen Sie den
Mauspointer über die Ecken der Hüllkurve --- markiert durch Kästchen --- und
ziehen die Hüllkurve in die gewünschte Position. {\bf Undo} stellt die alten
Hüllkurven wieder her. Der Hüllkurveneditor wird durch Anklicken des
Close-Gadgets des Fensters verlassen.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Multipatch-Editor}
Der Multipatch-Editor dient zum Editieren der Multipatches. Ein Multipatch ist
ein Gruppierung von maximal acht Singlepatches. Näheres entnehmen Sie bitte
Ihrem Synthesizer-Handbuch. Auf dem Bildschirm sehen Sie ein Raster, welches
jeweils einen einzelnen Multipatch repräsentiert. Die Veränderung der einzelnen
Parameter geschieht wie beim Singlepatch-Editor durch Anklicken des gewünschten
Feldes mit der Maus ($\rightarrow$ Singlepatch-Editor).
\\
\\
Unterhalb des Rasters befinden sich zehn weitere Felder mit denen Sie einzelne
Parameter getrennt zurücksetzen können. Die Bedeutung der Felder auf der
rechten Seite entnehmen Sie bitte dem Kapitel {\bf Singlepatch-Editor}. Bei
Anklicken von {\bf Test} erscheint zunächst ein Feld mit den Zahlen von 1 bis
16. Hier können Sie den Midi-Kanal auswählen auf dem die Testsequenz gesendet
werden soll. Die Optione {\bf Load} und {\bf Save} für einzelne Multipatches
entfällt aus verständlichen Gründen. {\bf Swap} und {\bf Copy}: siehe
Singlepatch-Editor.
\\
\\

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\section{Warnungen und Systemmeldungen}
Die nachfolgenden Meldungen machen Sie auf Situationen aufmerksam, die während
des Programm\-ablaufes auftreten können. Diese sollen Ihnen z.B. mitteilen, daß
gewisse Aktionen nicht durchgeführt werden konnten.
\\
\\
\k1box{Can't do that because K1 not present}
{Bevor der \K1 vom K1 Daten anfordert, wird getestet ob dieser überhaupt
angeschlossen ist.  Diese Mitteilung sagt Ihnen, daß kein K1 gefunden wurde.
Entweder ist kein K1 angeschlossen oder er ist abgeschaltet.  Es kann auch
sein, daß der Empfangskanal des K1 nicht mit dem Sendekanal des \K1
übereinstimmt.  Benutzen Sie die Funktion {\bf Scan Masterchannel} um alle
Midi-Kanäle nach dem K1 abzu\-scannen.}

\k1box{Can't print single/multi-patch, Warning: Printer trouble !}
{Es gibt Probleme mit dem Drucker. Entweder fehlt das {\bf printer.device} im
DEVS:-Verzeichnis oder ein anderes Programm greift schon auf den Druckerport
zu, so daß dieser zur Zeit für den \K1 blockiert ist.}

\k1box{Can't create temporary file in RAM-Disk}
{Der \K1 erzeugt, wenn es nötig ist, in der RAM-Disk Dateien, welche nur
während des Programmablaufes existieren. Falls die RAM-Disk nicht vorhanden
ist, z.B. durch Fehlen des {\bf ram-handler} im L:-Verzeichnis, kommt es zu
dieser Warnung. Kopieren Sie den {\bf ram-handler} in Ihr L:-Verzeichnis.}

\k1box{Can't find Kawai K1, where is it ?}
{Nach dem Programmstart testet der \K1, ob ein K1 angeschlossen ist. Sollte
dies nicht der Fall, so erscheint diese Meldung. Sie können nun weitermachen
oder das Programm beenden. Wenn Sie fortfahren, so sind gewisse Programmpunkte
gesperrt, um eventuelle Programmfehler zu verhindern.}

\k1box{Can't create file, Can't open file}
{Diese Fehlermeldung tritt vor allem beim Laden oder Speichern einzelner Patches
auf. Der Fehler liegt meistens darin, daß die angewählten Dateien nicht
existieren oder daß die Schutzbits den gewünschten Zugriff nicht erlauben.}

\k1box{This is not a K1 dump file, ...single sound bank, ...multi-patch}
{Sie haben versucht Daten zu laden, die hier nicht zulässig sind, z.B. das
Laden eines Dumps wo nur ein Single-Patch erlaubt ist etc.}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\section{Fehlermeldungen}
Alle nachstehend aufgeführten Fehlermeldungen deuten auf Ausnahmesituationen
hin, in denen der ordnungsgemäße Programmablauf nicht mehr gewährleistet ist.
Aus diesem Grund führt eine Fehlermeldung einen sofortigen Programmabbruch
nach sich.
\\
\\
\k1box{Can't open graphics.library}
{Diese Meldung sollte eigentlich nie erscheinen, da die graphics.library
normalerweise im fest im ROM verankert ist.}

\k1box{Can't open intuition.library}
{Auch die intuition.library ist normalerweise im ROM fest verankert, so daß
dieses Meldung nie erscheinen sollte.}

\k1box{Can't open dos.library}
{Siehe oben.}

\k1box{Can't open diskfont.library}
{Der \K1 kann die diskfont.library nicht öffnen. Kopieren Sie die Datei von
einer Workbench-Diskette in Ihr LIBS:-Verzeichnis.}

\k1box{Can't open icon.library}
{Siehe oben.}

\k1box{Can't open req.library}
{Die req.library befindet normaler auf der Installtionsdiskette im Verzeichnis
{\bf LIBS} und wird bei der Installation normalerweise in Ihr LIBS:-Verzeichnis
kopiert. Führen Sie noch einmal eine Installation durch oder kopieren Sie sie
von Hand.}

\k1box{Can't open midi.library}
{Siehe bei {\em Can't open req.library}.}

\k1box{Can't create midi source, Can't create midi destination, Can't create midi
route destination, Can't create midi route source}
{Eine dieser Fehlermeldungen kann viele Ursachen haben.  Eine Fehlerquelle kann
das Fehlen der Dateien {\bf serial.device} und {\bf port-handler} sein.  Es
kann auch sein das andere Programme, die ebenfalls auf den seriellen Port
zugreifen, z.B.  auch andere Midi-Programme, diesen exklusiv für sich allokiert
haben, so daß ein anderes Programm auf diesen nicht mehr zugreifen kann.
Terminieren Sie diese Programme und starten Sie den \K1 nocheinmal.}

\k1box{Can't open ...-window/screen}
{Der \K1 kann ein Fenster oder einen Screen nicht öffnen. Die Ursache für
diesen Fehler liegt meistens in nicht ausreichendem Speicher. }

\k1box{Can't get sleepy pointer}
{Es gibt ein Problem mit dem Mouse Pointer. Allerdings kann ich mir keine
Situation vorstellen, die diese Fehlermeldungen verursachen könnte. }

\k1box{Can't create input handler/enviroment}
{Hier ist ein Problem beim Installieren des Input-Handler aufgetreten. Der Grund
ist in der Regel Mangel an Speicherplatz.}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\section{Verschiedenes}
\subsection{Inputhandler}
Oft hat man das Problem, daß man sein eigenes Programm bei einer Vielzahl von
anderen Fenstern oder Screens nicht mehr findet, wenn man z.B.  den Screen ganz
nach unten gezogen hat.  Um diesen Mißstand zu beseitigen wurde ein
Input-Handler in den \K1 eingebaut, der es dem Benutzer erlaubt das Fenster
oder den Screen mit einem Tastendruck in den Vordergrund zu bringen.  Durch
gleichzeitiges Drücken der Tasten {\bf Shift rechts} und {\bf Backspace} wird
das Programmfenster oder der zugehörige Screen wieder sichtbar gemacht.  Dies
funktioniert auch dann, falls andere Input-Handler z.B.  Keymacro diese
Tastenkombination auch benutzen sollten.  Der eingebauter Input-Handler läuft
mit höchster Priorität und erhält somit alle Eingaben als erstes.

\subsection{Verträglichkeit mit anderer Midi-Software}
Wünschenswert wäre es, wenn man parallel zum \K1 zum Beispiel einen Sequencer
laufen lassen könnte.  Hierbei treten jedoch zweierlei Probleme auf.  Zum
ersten belegen die meisten Midi-Programme exklusiv den seriellen Port des
Amigas, so daß kein anderes Programm auf diesen gleichzeitig zugreifen kann.
Den \K1 kann man also nicht mehr parallel laufen lassen.  Sie erhalten eine
entsprechende Fehlermeldung.  Für die Ein- und Ausgabe des \K1 über den
seriellen Port wurde die {\bf Midi-Library benutzt}.  Programme, die diese
benutzen, können gleichzeitig ohne Probleme auf den seriellen Port zugreifen.
Es wäre also möglich den \K1 mehrmals parallel zu starten.  Dies habe ich
jedoch programmtechnisch unterbunden, um Probleme beim Datentransfer zum K1
vermeiden.  Zum anderen gibt es Timingprobleme mit Midi-Programmen, die mit
einer hohen Priorität laufen und somit hohe Rechenzeit brauchen.  Beim
Datentransfer zum K1 kommt es dann oft zu Problemen.
\\
\\
Der \K1 läuft nicht parallel zu folgender Software: Steinberg Pro 24, KSC
Sequencer, Master Trax Pro, MED 3.10, jedoch einwandfrei mit Bars \& Pipes und
Aegis Sonix.

\subsection{Kawai K1/Kawai K1-R}
Das vorliegende Programm wurde zur Benutzung des Kawai K1-II Synthesizer
geschrieben.  Dieser ist eine Weiterentwicklung des K1 Synthesizers.  Ihm
fehlen im Gegensatz zum K1-II die Effect- und Drum-Section.  Ansonsten scheinen
von der Midi-Seite aus keine Unterschiede zu bestehen, so daß sich auch der
alte K1 mit dem \K1 bedienen lassen sollte.  Eventuelle Unstimmigkeiten
sollte man mir melden, um bei Bedarf Abhilfe zu schaffen.

\subsection{Fehler}
Mehrfach wurde beobachtet, daß der K1-Editor in seltenen Fällen mit einer
Fehlermeldung abbricht, wenn er irgend ein Fenster öffnen will. Dies scheint
vor allem bei Benutzung der {Iconify}- und {\em Use screen}-Funktion zu
passieren. Der Fehler ist aber nicht reproduzierbar und konnte bis heute noch
nicht lokalisiert und beseitigt werden.
\\
\\
Der \K1 scheint unter gewissen Umständen das Chip-Memory sehr stark zu
fragmentieren. Dies führt dazu, daß der sogenannte Largest Block bei anderen
Programmen zu klein wird. Dies führt dann meist zu Fehlfunktionen. Der Grund
dieses Fehlers konnte noch nicht lokalisiert werden.
\\
\\
Als Font wird immer der 8 Punkt Systemzeichensatz verwendet.  Die unter
Kickstart 2.0 mit den Font-Preferences eingestellten Zeichensätze werden vom
\K1 nicht berücksichtigt.  Er greift immer auf den internen 8 Punkt Zeichensatz
zu.  Probleme kann es mit Requestern geben, die die Req-Library benutzen.  Sie
verwendet unter Kickstart 2.0 immer die eingestellten Fonts, so daß das
Erscheinungsbild des K1-Editors etwas komisch aussieht (durch die Verwendung
der verschiedenen Fonts).  Die ist jedoch kein direkter Fehler des K1-Editors,
sondern eine Unzulänglichkeit der Req-Library.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\tableofcontents
\end{document}


